'\" t
.\"     Title: vfs_btrfs
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 10/31/2024
.\"    Manual: System Administration tools
.\"    Source: Samba 4.21.1-git.372.cb50f2d0a68SUSE-oS16.9-x86_64
.\"  Language: English
.\"
.TH "VFS_BTRFS" "8" "10/31/2024" "Samba 4\&.21\&.1\-git\&.372\&.cb50f2d0a6" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vfs_btrfs \- Utilize features provided by the Btrfs filesystem
.SH "SYNOPSIS"
.HP \w'\ 'u
vfs objects = btrfs
.SH "DESCRIPTION"
.PP
This VFS module is part of the
\fBsamba\fR(8)
suite\&.
.PP
The
vfs_btrfs
VFS module exposes Btrfs specific features for use by Samba\&.
.PP
Btrfs allows for multiple files to share the same on\-disk data through the use cloned ranges\&. When an SMB client issues a request to copy duplicate data (via FSCTL_SRV_COPYCHUNK), this module maps the request to a Btrfs clone range IOCTL, instead of performing reads and writes required by a traditional copy\&. Doing so saves storage capacity and greatly reduces disk IO\&.
.PP
This module also exposes Btrfs per\-file compression support to SMB clients via the get/set compression fsctls\&.
.PP
Btrfs snapshots can be manipulated by Samba\*(Aqs FSRVP server\&. Snapshot manipulation using this module is currently considered experimental, and is therefore disabled by default\&. The
vfs_snapper
module is instead recommended for this purpose\&.
.PP
This module is stackable\&.
.SH "OPTIONS"
.PP
btrfs: manipulate snapshots = [yes|no]
.RS 4
When set to
\fIyes\fR, experimental support for the creation and deletion of snapshots via corresponding Btrfs IOCTLs will be enabled\&. The default is
\fIno\fR, which means that such requests are passed through to any underlying VFS module\&.
.RE
.SH "CONFIGURATION"
.PP
vfs_btrfs
requires that the underlying share path is a Btrfs subvolume\&.
.sp
.if n \{\
.RS 4
.\}
.nf
		\fI[share]\fR
		\m[blue]\fBvfs objects = btrfs\fR\m[]
		\m[blue]\fBbtrfs: manipulate snapshots = no\fR\m[]
	
.fi
.if n \{\
.RE
.\}
.PP
To use the experimental snapshot manipulation functionality provided by this module, it must be explicitly enabled, and Samba\*(Aqs FSRVP server must be running\&.
.PP
The
vfs_shadow_copy
module can be used to expose snapshots created by
vfs_btrfs
to Windows Explorer as file / directory "previous versions"\&.
.sp
.if n \{\
.RS 4
.\}
.nf
		\fI[global]\fR
		\m[blue]\fBregistry shares = yes\fR\m[]
		\m[blue]\fBinclude = registry\fR\m[]

		\fI[share]\fR
		\m[blue]\fBvfs objects = btrfs shadow_copy\fR\m[]
		\m[blue]\fBbtrfs: manipulate snapshots = yes\fR\m[]
	
.fi
.if n \{\
.RE
.\}
.SH "VERSION"
.PP
This man page is part of version 4\&.21\&.1\-git\&.372\&.cb50f2d0a68SUSE\-oS16\&.9\-x86_64 of the Samba suite\&.
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
